home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- Boolean BOOLEAN003
- Boolean BOOLEAN004
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER005
- Integer INTEGER006
- Integer INTEGER007
- Integer INTEGER008
- Integer INTEGER009
- Integer INTEGER010
- Integer INTEGER011
- Integer INTEGER012
- Integer INTEGER013
- Integer INTEGER014
- Integer INTEGER015
- Integer INTEGER016
- Integer INTEGER017
- Integer INTEGER018
- Integer INTEGER019
- Integer INTEGER020
- Integer INTEGER021
- Integer INTEGER022
- Integer INTEGER023
- Integer INTEGER024
- Integer INTEGER025
- Integer INTEGER026
- Integer INTEGER027
- Integer INTEGER028
- Integer INTEGER029
- String STRING001
- String STRING002
- String STRING003
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
- String STRING009
- String STRING010
- String STRING011
- String STRING012
- String STRING013
- String STRING014
- String STRING015
- String STRING016
- String STRING017
- String STRING018
- String STRING019
- String STRING020
- String STRING021
- String STRING022
- String STRING023
- String STRING024
- String STRING025
-
- ;------------------------------------------------------------------------------
-
- INTEGER011 = 1
- INTEGER012 = 3625
- INTEGER001 = 0
- INTEGER002 = 0
- INTEGER003 = 0
- INTEGER004 = 0
- INTEGER006 = 0
- INTEGER007 = 0
- INTEGER008 = 0
- INTEGER009 = 0
- INTEGER010 = 0
- STRING008 = Chr(13) + Chr(10)
- STRING003 = ""
- STRING009 = "N"
- STRING010 = "N"
- STRING011 = "Y"
- STRING005 = ""
- STRING001 = ""
- GetUser
- Gosub LABEL003
- If (AnsiOn()) Then
- If (U_Expert) Then
- STRING015 = Upper(STRING013)
- Else
- STRING015 = Upper(STRING014)
- Endif
- Else
- STRING015 = "NO"
- Endif
- If (U_FSE == 1) Then
- STRING011 = "Y"
- Else
- STRING011 = "N"
- Endif
- If ((U_Expert == 0) || (STRING015 == "YES")) Then
- Cls
- Endif
- While (TokCount() > 0) Do
- STRING001 = STRING001 + " " + GetToken()
- EndWhile
- STRING001 = Trim(STRING001, " ")
- If (STRING015 == "YES") Then
- Gosub LABEL010
- Else
- If ((U_Expert == 0) && Exist(PPEPath() + "Wlcm*.*")) Then
- DispFile PPEPath() + "Wlcm", 2 + 1 + 4
- Endif
- InputText "Name (Enter)=ABORT ?", STRING001, 15, 25
- Newline
- If (Len(Trim(STRING001, " ")) < 1) Then
- Goto LABEL002
- Endif
- InputText "Subject (ENTER)=Abort ?", STRING007, 15, 60
- Newline
- If (Len(STRING007) < 1) Then
- Goto LABEL002
- Endif
- Gosub LABEL004
- Gosub LABEL009
- Endif
- If (U_FSEP) Then
- PromptStr 498, STRING011, 1, "Y", 256 + 8 + 4
- Endif
- If (BOOLEAN004 == 0) Then
- STRING005 = "E" + Chr(13) + Chr(10)
- STRING005 = STRING005 + STRING001 + STRING008
- STRING005 = STRING005 + STRING007 + STRING008
- STRING005 = STRING005 + "N" + STRING008
- If (U_FSE == 0) Then
- If (U_FSEP == 1) Then
- If (STRING011 == "Y") Then
- STRING005 = STRING005 + "Y" + STRING008
- Goto LABEL001
- Endif
- STRING005 = STRING005 + "N" + STRING008
- Endif
- Endif
- :LABEL001
- STRING005 = STRING005 + "(" + STRING002 + ")" + STRING008
- If (STRING009 == "I") Then
- STRING005 = STRING005 + "(IMMEDIATE)" + STRING008
- Endif
- If (STRING009 == "D") Then
- STRING005 = STRING005 + "(DIRECT)" + STRING008
- Endif
- If (STRING009 == "H") Then
- STRING005 = STRING005 + "(HOLD)" + STRING008
- Endif
- If (STRING009 == "C") Then
- STRING005 = STRING005 + "(CRASH)" + STRING008
- Endif
- Endif
- :LABEL002
- If (BOOLEAN004 == 1) Then
- Cls
- Endif
- PrintLn " NetMailer -- v1.6 "
- PrintLn " (c) 1994 Tranquility Base "
- PrintLn " All Rights Reserved "
- If ((Len(STRING005) > 0) && (BOOLEAN004 == 0)) Then
- KbdStuff STRING005
- Endif
- End
- :LABEL003
- FClose 1
- FOpen 1, PPEPath() + "NetMail.CFG", 0, 0
- FGet 1, INTEGER011
- FGet 1, INTEGER012
- FGet 1, INTEGER013
- FGet 1, INTEGER014
- FGet 1, INTEGER015
- FGet 1, INTEGER016
- FGet 1, INTEGER017
- FGet 1, STRING017
- FGet 1, STRING018
- FGet 1, STRING012
- FGet 1, STRING013
- FGet 1, STRING014
- FGet 1, STRING016
- INTEGER018 = S2I(Left(STRING016, InStr(STRING016, ",") - 1), 10)
- INTEGER019 = S2I(Mid(STRING016, InStr(STRING016, ",") + 1, Len(STRING016) - InStr(STRING016, ",")), 10)
- FGet 1, STRING016
- INTEGER020 = S2I(Left(STRING016, InStr(STRING016, ",") - 1), 10)
- INTEGER021 = S2I(Mid(STRING016, InStr(STRING016, ",") + 1, Len(STRING016) - InStr(STRING016, ",")), 10)
- FGet 1, STRING016
- INTEGER022 = S2I(Left(STRING016, InStr(STRING016, ",") - 1), 10)
- INTEGER023 = S2I(Mid(STRING016, InStr(STRING016, ",") + 1, Len(STRING016) - InStr(STRING016, ",")), 10)
- FGet 1, STRING016
- INTEGER024 = S2I(Left(STRING016, InStr(STRING016, ",") - 1), 10)
- INTEGER025 = S2I(Mid(STRING016, InStr(STRING016, ",") + 1, Len(STRING016) - InStr(STRING016, ",")), 10)
- If (Ferr(1) == 1) Then
- PrintLn ""
- PrintLn "Please inform the SYSOP that there is a problem with the CONFIG file."
- FClose 1
- BOOLEAN002 = 1
- Else
- FClose 1
- BOOLEAN002 = 0
- Endif
- :LABEL004
- BOOLEAN001 = 0
- If (STRING015 == "NO") Then
- If ((U_Expert == 0) && Exist(PPEPath() + "ADDR*.*")) Then
- DispFile PPEPath() + "ADDR", 2 + 1 + 4
- InputText "", STRING002, 15, 30
- Goto LABEL005
- Endif
- InputText "@X0FAddress to Send To (ENTER)=Abort ?", STRING002, 15, 30
- :LABEL005
- Newline
- Endif
- If (Len(STRING002) < 1) Then
- BOOLEAN001 = 1
- Return
- Endif
- STRING002 = Trim(STRING002, " ")
- For INTEGER005 = 1 To Len(STRING002)
- STRING006 = Mid(STRING002, INTEGER005, 1)
- If (STRING006 == ":") Then
- INTEGER001 = S2I(STRING004, 10)
- STRING004 = ""
- INTEGER006 = 1
- Continue
- Endif
- If (STRING006 == "/") Then
- INTEGER002 = S2I(STRING004, 10)
- STRING004 = ""
- INTEGER007 = 1
- Continue
- Endif
- If (STRING006 == ".") Then
- If (INTEGER008 == 0) Then
- INTEGER003 = S2I(STRING004, 10)
- STRING004 = ""
- INTEGER008 = 1
- Goto LABEL006
- Endif
- STRING004 = STRING004 + STRING006
- :LABEL006
- Continue
- Endif
- If (STRING006 == "@") Then
- INTEGER004 = S2I(STRING004, 10)
- STRING004 = ""
- INTEGER009 = 1
- Continue
- Endif
- STRING004 = STRING004 + STRING006
- Next
- If (Len(STRING004) > 0) Then
- If (INTEGER008 > 0) Then
- If (INTEGER009 > 0) Then
- STRING003 = Trim(STRING004, " ")
- INTEGER010 = 1
- Goto LABEL007
- Endif
- INTEGER004 = S2I(STRING004, 10)
- INTEGER009 = 1
- :LABEL007
- Goto LABEL008
- Endif
- INTEGER003 = S2I(STRING004, 10)
- INTEGER008 = 1
- Endif
- :LABEL008
- If (INTEGER006 == 0) INTEGER001 = INTEGER011
- If (INTEGER007 == 0) INTEGER002 = INTEGER012
- If (INTEGER008 == 0) Then
- PrintLn "Your address is improperly formatted, please try again."
- Newline
- BOOLEAN001 = 1
- Return
- Endif
- STRING002 = Trim(I2S(INTEGER001, 10), " ")
- STRING002 = STRING002 + ":" + Trim(I2S(INTEGER002, 10), " ")
- STRING002 = STRING002 + "/" + Trim(I2S(INTEGER003, 10), " ")
- If (INTEGER009 == 1) Then
- STRING002 = STRING002 + "." + Trim(I2S(INTEGER004, 10), " ")
- Endif
- If (INTEGER010 == 1) Then
- STRING002 = STRING002 + "@" + STRING003
- Endif
- If (BOOLEAN001 == 1) Then
- Goto LABEL004
- Endif
- Return
- :LABEL009
- If ((U_Expert == 0) && Exist(PPEPath() + "Ugnt*.*")) Then
- DispFile PPEPath() + "Ugnt", 2 + 1 + 4
- Else
- PrintLn "@X0FUrgency Level:"
- If (U_Sec >= INTEGER013) Then
- PrintLn " @X0F(@X0EI@X0F)@X09mmediate@X0F"
- Endif
- If (U_Sec >= INTEGER014) Then
- PrintLn " @X0F(@X0EC@X0F)@X09rash@X0F"
- Endif
- If (U_Sec >= INTEGER016) Then
- PrintLn " @X09h@X0F(@X0EO@X0F)@X09ld@X0F"
- Endif
- If (U_Sec >= INTEGER015) Then
- PrintLn " @X0F(@X0ED@X0F)@X09irect@X0F"
- Endif
- PrintLn " @X0F(@X0EN@X0F)@X09ormal@X0F"
- Print "@X0FUrgency Level (@X0EEnter@X0F)=Normal"
- Endif
- If (U_Sec >= INTEGER013) Then
- STRING010 = STRING010 + "I"
- Endif
- If (U_Sec >= INTEGER014) Then
- STRING010 = STRING010 + "C"
- Endif
- If (U_Sec >= INTEGER016) Then
- STRING010 = STRING010 + "O"
- Endif
- If (U_Sec >= INTEGER015) Then
- STRING010 = STRING010 + "D"
- Endif
- InputStr "", STRING009, 15, 1, STRING010, 256 + 4 + 8
- :LABEL010
- STRING019 = "STRING"
- STRING022 = "@X0E"
- STRING021 = "@X0F"
- BOOLEAN003 = 1
- DispFile PPEPath() + "RTNG", 2 + 1 + 4
- While (BOOLEAN004 == 0) Do
- STRING020 = Trim(STRING001, " ")
- INTEGER026 = INTEGER018
- INTEGER027 = INTEGER019
- INTEGER028 = 50
- Gosub LABEL011
- STRING001 = Trim(STRING020, " ")
- If (Len(Trim(STRING001, " ")) < 1) Then
- BOOLEAN004 = 1
- Continue
- Endif
- If (BOOLEAN004 == 0) Then
- STRING019 = "STRING"
- STRING020 = Trim(STRING007, " ")
- STRING021 = "@X0F"
- STRING022 = "@X0E"
- INTEGER026 = INTEGER020
- INTEGER027 = INTEGER021
- INTEGER028 = 50
- BOOLEAN003 = 1
- Gosub LABEL011
- STRING007 = Trim(STRING020, " ")
- Endif
- BOOLEAN001 = 1
- While ((BOOLEAN001 == 1) && (BOOLEAN004 == 0)) Do
- STRING020 = Trim(STRING002, " ")
- INTEGER026 = INTEGER022
- INTEGER027 = INTEGER023
- INTEGER028 = 50
- Gosub LABEL011
- STRING002 = Trim(STRING020, " ")
- Gosub LABEL004
- EndWhile
- If (BOOLEAN004 == 0) Then
- STRING020 = Trim(STRING009, " ")
- INTEGER026 = INTEGER024
- INTEGER027 = INTEGER025
- INTEGER028 = 1
- Gosub LABEL011
- STRING009 = Upper(Trim(STRING020, " "))
- Endif
- If (((Len(STRING001) > 0) && (Len(STRING002) > 0)) && (Len(STRING007) > 0)) Then
- Break
- Endif
- EndWhile
- Return
- :LABEL011
- STRING025 = STRING020
- If ((INTEGER026 >= 0) && (INTEGER027 >= 0)) Then
- AnsiPos INTEGER026, INTEGER027
- Endif
- STRING023 = "@X00" + STRING021 + Mid(STRING020, 1, INTEGER028)
- Print STRING023
- If ((INTEGER026 >= 0) && (INTEGER027 >= 0)) Then
- AnsiPos INTEGER026, INTEGER027
- Endif
- If (BOOLEAN003) Then
- INTEGER029 = 1
- While (0 <> 13) Do
- STRING024 = ""
- While (Len(STRING024) == 0) Do
- STRING024 = Inkey()
- EndWhile
- If (STRING024 == Chr(8)) Then
- If (INTEGER029 > 1) Then
- Backup 1
- Print " "
- Backup 1
- STRING020 = Left(STRING020, INTEGER029 - 2) + " " + Right(STRING020, Len(STRING020) - INTEGER029 + 1)
- Dec INTEGER029
- Endif
- Continue
- Endif
- If ((STRING024 == "BADKEY") || (STRING024 == Chr(27))) Then
- BOOLEAN004 = 1
- Break
- Continue
- Endif
- If (Asc(STRING024) == 13) Then
- Break
- Continue
- Endif
- If ((Asc(STRING024) > 31) && (Asc(STRING024) < 122)) Then
- If (INTEGER029 > Len(STRING020)) Then
- STRING020 = STRING020 + STRING024
- Goto LABEL012
- Endif
- STRING020 = Left(STRING020, INTEGER029 - 1) + STRING024 + Right(STRING020, Len(STRING020) - INTEGER029)
- :LABEL012
- Print STRING022 + STRING024
- Inc INTEGER029
- Continue
- Endif
- PrintLn "*" + I2S(Asc(STRING024), 10) + "*"
- Wait
- EndWhile
- Endif
- Return
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 1 End
- ; 2 Cls
- ; 1 Wait
- ; 96 Goto
- ; 123 Let
- ; 4 Print
- ; 13 PrintLn
- ; 65 If
- ; 4 DispFile
- ; 1 FOpen
- ; 3 FClose
- ; 16 FGet
- ; 1 GetUser
- ; 1 InputStr
- ; 9 Gosub
- ; 5 Return
- ; 1 PromptStr
- ; 1 Inc
- ; 1 Dec
- ; 4 Newline
- ; 4 InputText
- ; 1 KbdStuff
- ; 2 AnsiPos
- ; 2 Backup
- ;
- ;
- ; ■ Functions used :
- ;
- ; 77 +
- ; 12 -
- ; 40 ==
- ; 1 <>
- ; 6 <
- ; 1 <=
- ; 11 >
- ; 14 >=
- ; 63 !
- ; 12 &&
- ; 3 ||
- ; 19 Len(
- ; 3 Upper()
- ; 6 Mid()
- ; 6 Left()
- ; 2 Right()
- ; 1 Ferr()
- ; 6 Chr()
- ; 4 Asc()
- ; 12 InStr()
- ; 17 Trim()
- ; 1 Inkey()
- ; 8 PPEPath()
- ; 1 GetToken()
- ; 3 Exist()
- ; 5 I2S()
- ; 14 S2I()
- ; 1 AnsiOn()
- ; 1 TokCount()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : No flag
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 1 For/Next
- ; 5 While/EndWhile
- ; 57 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-